package com.pandi.springbootinfluxdb.v02;

/**
 * @author pandi
 * @create 2021-04-16 9:45
 */

//@Configuration
//@Data
//@PropertySource(value = {"classpath:influx.yml"}, factory = PropertySourceFactory.class)
//@ConfigurationProperties(prefix = "influx")
//@Slf4j
public class InfluxDBEntity {

    private String url;

    private String user;

    private String password;

    private String database;

    private String retentionPolicy;

//    @Bean
//    public InfluxDB influxdb(){
//        InfluxDB influxDB = InfluxDBFactory.connect(url, user, password);
//        try {
//
//            /**
//             * 异步插入：
//             * enableBatch这里第一个是point的个数，第二个是时间，单位毫秒
//             * point的个数和时间是联合使用的，如果满100条或者60 * 1000毫秒
//             * 满足任何一个条件就会发送一次写的请求。
//             */
//            influxDB.setDatabase(database).enableBatch(1000,1000 * 60, TimeUnit.MILLISECONDS);
//
//        } catch (Exception e) {
//            log.error("Create influx db failed, cause by: {}", e.getMessage());
//        } finally {
//            //设置默认策略
//            influxDB.setRetentionPolicy("autogen");
//        }
//        //设置日志输出级别
//        influxDB.setLogLevel(InfluxDB.LogLevel.BASIC);
//        return influxDB;
//    }

//    @Bean
    public InfluxMapper influxMapper(){
        return new InfluxMapper(url, user, password, database, retentionPolicy);
    }



}
